using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using cocos2d;

namespace Meteorite
{
    class GameConstant
    {
        //Screen
        public const int WindowWidth = 800;
        public const int WindowHeight = 480;
        public const float FOV = MathHelper.PiOver4;

        //Advertisement
        //public const string Ad_AppID = "3bede515-56ec-4f32-9840-75fe11e86360";
        //public const string Ad_UnitID = "10040607";

        public const string Ad_AppID = "f66d1f9c-da77-46ad-8d08-c689368b71ef";
        public const string Ad_UnitID = "10037549";

        public const int Ad_Widht = 480;
        public const int Ad_Height = 80;
        public const int Ad_Pos_x = (WindowWidth - Ad_Widht) / 2;
        public const int Ad_Pos_y = 0;
        //XLive
        public const string XLiveAppKey = "rajpQASv6Y5uTkMyDx3J8hHC";
        public const string XLiveLeaderBoardKey = "834b0efb-a4a8-40b4-b126-a0486a98e6a9";
        public const string XLiveAchievement_1 = "77106f78-4d32-471e-92cb-9d3809df6b77";
        public const string XLiveAchievement_2 = "40c3cabf-530d-43fd-b569-6af5e334ec92";

        //Camera
        public const float CameraBoderFix =20;
        public const float CameraMaxDistance = 800;
        public const float CameraShakeDistance = 500;
        public const float CameraNormalDistance = 400;
        public const float CameraMinDistance = 300;
        public const float CameraMaxShakeRange = 0.25f;

        public const int CameraExplosionCountDonw = 20;
        public const float CameraExplosionRange = 3.0f;

        //View
        public const float SpaceMaxWidth = 400;
        public const float SpaceMaxHeight = 300;

        public const float SpaceLimit_Left = -SpaceMaxWidth / 2;
        public const float SpaceLimit_Right = SpaceMaxWidth / 2;
        public const float SpaceLimit_Down = -SpaceMaxHeight / 2;
        public const float SpaceLimit_Up = SpaceMaxHeight / 2;

        //Game
        public const int ShipLives = 3;

        //User data
        public const string UserData_Sound = "Sound";
        public const string UserData_TotalGamesPlayed = "Total Games Played";
        public const string UserData_HighScore = "High Score";
        public const string UserData_LastScore = "Last Score";
        public const string UserData_TotalPlayTime = "Total Play Time";
        public const string UserData_LastPlayTime = "Last Play Time";
        public const string UserData_ColideStone = "Colide Stones";
        public const string UserData_TotalStone = "Total Stones";
        public const string UserData_TotalBounus = "Total Bounus";
        //Physics
        public const float Friction = 400.0f;
        public const float ThrustForce = 500.0f;
        
        //Entity
        public const float ShipScale = 1.05f;
        public const float MaxSpeed = 200.0f;
        public const float MaxZSpeed = 800.0f;
        public const float MinZSpeed = 200.0f;
        
        //Resource
        //--font
        public const string Font_Futura_48 = @"fonts/fnt/futura-48";

        //--model
        public const string Model_Ship = @"Meshs/ship2";
        public const string Model_Stone_1 = @"Meshs/hellfirerocks_floatingsmall01";
        public const string Model_Stone_2 = @"Meshs/hellfirerock_short02";
        public const string Model_Stone_3 = @"Meshs/hellfirerocks_floatingsmall03";
        public const string Model_Stone_4 = @"Meshs/hellfire_overhangrock_large_02";
        public const string MOdel_Shield = @"Meshs/hellfirerocks_floatingsmall03";
        
        //--texture
        public const string Texture_Powered = @"UI/powered";
        public const string Texture_Explosion = @"particle/explosion";

        public const string Texture_XLive_Bkg = @"UI/OpenXLive";
        public const string Texture_XLive_Btn = @"UI/XLive";
        public const string Texture_XLive_S_Btn = @"UI/XLive_S";
        public const string Texture_XLive_A = @"UI/XLive1";
        
        public const string Texture_SkyBox = @"space1";
        public const string Texture_Btn_Pause_N = @"UI/close";
        public const string Texture_Btn_Pause_S = @"UI/close";
        public const string Texture_Btn_Speedup_N = @"UI/b1";
        public const string Texture_Btn_Speedup_S = @"UI/b2";

        public const string ControlPannelBkg = @"UI/blastwave-green";
        public const string ControlPannelBtn = @"UI/CloseNormal";

        //String
        public const string MainMenuScene_Title = "Meteorite";
        public const string MainMenuScene_Btn_Play = "Play";
        public const string MainMenuScene_Btn_SoundOn = "Sound:On";
        public const string MainMenuScene_Btn_SoundOff = "Sound:Off";
        public const string MainMenuScene_Btn_About = "About";
        public const string MainMenuScene_Btn_Exit = "Exit";
        
        public const string PauseScene_Btn_Pause = "Pause";
        public const string PauseScene_Btn_Resume = "Resume";
        public const string PauseScene_Btn_Exit = "Exit";

        //Point
        public static readonly CCPoint Point_CenterCenter = new CCPoint(WindowWidth/2,WindowHeight/2);

        public static readonly CCPoint Point_CenterTop = new CCPoint(WindowWidth / 2, WindowHeight);
        public static readonly CCPoint Point_CenterBottom = new CCPoint(WindowWidth / 2, 0);

        public static readonly CCPoint Point_LeftTop = new CCPoint(0, WindowHeight);
        public static readonly CCPoint Point_RightTop = new CCPoint(WindowWidth, WindowHeight);
        public static readonly CCPoint Point_LeftBottom = new CCPoint(0, 0);
        public static readonly CCPoint Point_RightBottom = new CCPoint(WindowWidth, 0);

        //Sounds
        public const string Sound_Menu_Bkg = @"Sounds/menuMusic";
        public const string Sound_Game_Bkg = @"Sounds/gameMusic";
        public const string Sound_Btn = @"Sounds/Menu_Selection";
        public const string Sound_Explosion = @"Sounds/explosion";
    }
}
